package com.power.sifa.std.service;

import org.springframework.data.domain.Page;
import com.power.sifa.std.model.Std_matter_attach_second;
import com.power.sifa.std.model.pageInfo.Std_matter_attach_secondPageInfo;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
 *  次级分类的申请所需材料业务层
 */
public interface Std_matter_attach_secondService {

    /**
     *  根据id获取次级分类的申请所需材料对象
     */
    Std_matter_attach_second getById(Serializable id);

    /**
     *  根据传入次级分类的申请所需材料对象进行新增或更新操作
     */
    void saveOrUpdate(Std_matter_attach_second std_matter_attach_second);

    /**
     *  根据id删除次级分类的申请所需材料
     */
    void removeById(Serializable id);

    /**
     *  根据传入条件查询次级分类的申请所需材料分页结果
     */
    Page<Std_matter_attach_second> findAll(Std_matter_attach_secondPageInfo pageInfo);

    /**
     * 查询全部次级分类的申请所需材料
     */
    List<Std_matter_attach_second> findAll();

     /**
     *  根据id批量删除次级分类的申请所需材料
     */
    void removeByIds(List<Integer> list);

     /**
     *  批量保存次级分类的申请所需材料
     */
    void saveAll(List<Std_matter_attach_second> list);

    /**
     * 获取次级分类的申请所需材料
     * @param matid 事项id
     * @param types 条件类型
     * @return  {标准材料id, 是否必传}
     */
    Map<String, Integer> queryMap(String matid, List<String> types);
}
